/* 封装表单验证 */

// 用户名正则，4到16位（字母，数字，下划线，减号）
const userName = /^[\u4E00-\u9FA5]{2,4}|[a-zA-Z0-9_-]{4,16}$/
const userNameText = '2到4位（字母，数字，下划线，减号'
// 密码验证
const pwd = /^[a-zA-Z0-9_-]{6,12}$/
const pwdText = '6到12位（字母，数字，下划线，减号）!'
// 账号验证
export const validateuserName = (rule, value, callback) => {
  if (value === '') {
    callback(new Error('请输入账号'))
  } else if (!userName.test(value)) {
    callback(new Error(userNameText))
  } else {
    callback()
  }
}

// 密码验证
export const validatePass = (rule, value, callback) => {
  if (value === '') {
    callback(new Error('请输入密码!'))
  } else if (!pwd.test(value)) {
    callback(new Error(pwdText))
  } else {
    callback()
  }
}

export const validateNewPass = (str, o) => {
  return (rule, value, callback) => {
    if (value === '') {
      callback(new Error(`请输入${str}!`))
    } else if (!pwd.test(value)) {
      callback(new Error(pwdText))
    } else {
      if (o.userReset.redoPass !== '') {
        o.$refs.ruleForm.validateField('redoPass')
      }
      callback()
    }
  }
}
export const validateRedoPass = (str, o) => {
  return (rule, value, callback) => {
    if (value === '') {
      callback(new Error(`请输入${str}!`))
    } else if (!pwd.test(value)) {
      callback(new Error(pwdText))
    } else {
      if (value !== o.userReset.newPass) {
        callback(new Error('两次密码不一致'))
      }
      callback()
    }
  }
}
// else {
//   if (this.ruleForm.checkPass !== '') {
//     this.$refs.ruleForm.validateField('checkPass')
//   }
//   callback()
// }
